package com.hhh.springai_test.service;

import com.hhh.springai_test.model.po.CommunityPost;
import com.hhh.springai_test.model.po.CommunityPostLike;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

/**
* @author 29915
* @description 针对表【community_post_like(帖子点赞表)】的数据库操作Service
* @createDate 2025-02-03 08:50:30
*/
public interface CommunityPostLikeService extends IService<CommunityPostLike> {
    
    /**
     * 点赞/取消点赞帖子
     * @param postId 帖子id
     * @param userId 用户id
     * @return 当前点赞状态 true-已点赞 false-未点赞
     */
    Boolean likeOrUnlike(Long postId, Long userId);

    /**
     * 获取用户是否点赞了该帖子
     * @param postId 帖子id
     * @param userId 用户id
     * @return 是否点赞
     */
    Boolean isLiked(Long postId, Long userId);

    /**
     * 获取用户点赞的帖子列表
     * @param userId 用户id
     * @param current 当前页码
     * @param pageSize 每页大小
     * @return 帖子列表分页数据
     */
    Page<CommunityPost> getUserLikedPosts(Long userId, long current, long pageSize);
}
